The present invention relates to a technique for generating a form, and in particular, for dynamically generating a paper form based on user-defined data types and/or semantic information.
In spite of the proliferation of electronic forms, paper forms continue to be used by many companies. For example, many companies continue to use paper forms which are filled out by hand. However, converting such handwritten data from paper forms into an electronic format, which is suitable for subsequent processing, is typically difficult.
Digital pens have been proposed as a potential solution to this problem. Because digital pens dispense ink in the same way as existing pens, they can be used to fill out paper forms. In addition, digital pens can capture information about a user's pen strokes while filling out a form for subsequent processing.
However, forms that are used with digital pens are often specific to corresponding applications, and are typically developed on a case-by-case basis. In particular, a given one of these forms is usually produced through a complicated design and implementation process in which considerable expertise is needed to combine the visual layout of the form with the semantic meaning of the data fields and the backend database schema.
For example, a workflow may start with a visually designed form. A designer can manual crop out various regions in the form layout, and then may define their semantic meanings and associated data types. Next, when information captured by a digital pen is received, customized business logic can be developed to process the received information. Furthermore, the database schema is typically carefully tuned to match up with the processed results.
Such a workflow usually involves expert knowledge and a range of specific tools. This makes the entire application difficult to develop and deploy. Furthermore, because of the significant time and cost associated with implementing any changes, the forms are usually quasi-static. This makes it difficult to generate forms for different users, or to adapt forms over time as a given user's needs evolve.